..:: Menu ::.. ..:: Kurs C++ : KRÓTKO O PROGRAMOWANIU ::.. ..::Info i Reklamy::..

Programy nie spadają z nieba,
najpierw tym niebem potrząść trzeba.
gemGreg

Rozpoczynamy zatem nasz kurs programowania gier. Zanim jednak napiszesz swojego własnego Quake'a, Warcrafta czy też inny wielki przebój, musisz nauczyć się tworzenia programów (gry to przecież też programy, prawda?) - czyli programowania. Jeszcze niedawno czynność ta była traktowana na poły mistycznie: oto bowiem programista (czytaj jajogłowy) wpisuje jakieś dziwne ciągi liter i numerkow, a potem w niemal magiczny sposob zamienia je w edytor tekstu, kalkulator czy wreszcie grę. Obecnie obraz ten nie przystaje już tak bardzo do rzeczywistości, a tworzenie programów jest prostsze niż jeszcze kilkanaście lat temu. Nadal jednak wiele zależy od umiejętności samego kodera oraz jego doświadczenia, a zyskiwanie tychże jest kwestią długiej pracy i realizacji wielu projektów.
Nagrodą za ten wysiłek jest możliwość urzeczywistnienia dowolnego praktycznie pomysłu i wielka satysfakcja.
Czas więc przyjrzeć się, jak powstają programy.

Krok za krokiem

Większość aplikacji została stworzona do realizacji jednego, konkretnego, choć obszernego zadania. Przykładowo, Notatnik potrafi edytować pliki tekstowe, Winamp - odtwarzać muzykę, a Paint tworzyć rysunki.

Screen : Głównym zadaniem Winampa jest odtwarzanie plikow muzycznych
Możemy więc powiedzieć, że główną funkcją każdego z tych programow będzie odpowiednio edycja plikow tekstowych, odtwarzanie muzyki czy tworzenie rysunków. Funkcję tę można jednak podzielić na mniejsze, bardziej szczegołowe. I tak Notatnik potrafi otwierać i zapisywać pliki, drukować je i wyszukiwać w nich tekst. Winamp zaś pozwala nie tylko odtwarzać utwory, ale też układać z nich playlisty.
Idąc dalej, możemy dotrzeć do następnych, coraz bardziej szczegółowych funkcji danego programu. Przypominają one więc coś w rodzaju drzewka, które pozwala nam niejako ,,rozłożyć daną aplikację na części".

Schemat : Podział programu Notatnik na funkcje składowe
Zastanawiasz się pewnie, na jak drobne części możemy w ten sposób dzielić programy. Innymi słowy, czy dojdziemy wreszcie do takiego elementu, który nie da się rozdzielić na mniejsze. Spieszę z odpowiedzią, iż oczywiście tak - w przypadku Notatnika byliśmy zresztą bardzo blisko.
Czynność zatytułowana Otwieranie plików wydaje się być już jasno określona. Kiedy wybieramy z menu Plik programu pozycję Otworz, Notatnik robi kilka rzeczy: najpierw pokazuje nam okno wyboru pliku. Gdy już zdecydujemy się na jakiś, pyta nas, czy chcemy zachować zmiany w już otwartym dokumencie (jeżeli jakiekolwiek zmiany rzeczywiscie poczyniliśmy). W przypadku, gdy je zapiszemy w innym pliku lub odrzucimy, program przystapi do odczytania zawartości żądanego przez nas dokumentu i wyświetli go na ekranie. Proste, prawda? :)
Przedstawiona powyżej charakterystyka czynności otwierania pliku posiada kilka znaczących cech:
  • określa dokładnie kolejne kroki wykonywane przez program
  • wskazuje rożne możliwe warianty sytuacji i dla każdego z nich przewiduje odpowiednią reakcję
Pozwalaję one nazwać niniejszy opis algorytmem
Algorytm to jednoznacznie określony sposób, w jaki program komputerowy realizuje jakąś elementarną czynność.*
Jest to bardzo ważne pojęcie. Myśl o algorytmie jako o czymś w rodzaju przepisu albo instrukcji, ktora "mówi" aplikacji, co ma zrobić gdy napotka taką czy inną sytuację. Dzięki swoim algorytmom programy wiedzą co zrobić po naciśnięciu przycisku myszki, jak zapisać, otworzyć czy wydrukować plik, jak wyświetlić poprawnie stronę WWW, jak odtworzyć utwor w formacie MP3, jak rozpakować archiwum ZIP i ogolnie - jak wykonywać zadania, do ktorych zostały stworzone.
Jeżli nie podoba ci się, iż cały czas mówimy o programach użytkowych zamiast o grach, to wiedz, że gry także działają w oparciu o algorytmy. Najczęściej są one nawet znacznie bardziej skomplikowane od tych występujących w używanych na co dzień aplikacjach. Czyż nie łatwiej narysować prostą tabelkę z liczbami niż skomplikowaną scenę trójwymiarową? :)

Z tego właśnie powodu wymyślanie algorytmow jest ważną częścią pracy twórcy programow, czyli programisty. Właśnie tą drogą koder określa sposób działania ("zachowanie") pisanego programu.
Podsumujmy: w każdej aplikacji możemy wskazać wykonywane przez nią czynności, ktore z kolei składają się z mniejszych etapów, a te jeszcze z mniejszych itd. Zadania te realizowane są poprzez algorytmy, czyli przepisy określone przez programistów - tworców programów.
* Nie jest to ścisła matematyczna definicja algorytmu, ale na potrzeby programistyczne nadaje się bardzo dobrze :)
Dalej --->

   
©Copyright by garUs